//package com.mt.vsphere.business.vshpereApi;
//
//
//import com.vmware.vim25.*;
//
//import javax.xml.ws.soap.SOAPFaultException;
//import java.util.ArrayList;
//import java.util.List;
//
//
//public class GetDateCenter {
//    /**
//     * @see
//     * @explain:清单遍历一定要结合清单遍历结构图。
//     * @return TraversalSpec:清单遍历对象，明确属性收集的对象类型，同事提供对象遍历的路径。
//     * */
//    public static TraversalSpec getDatacenterTraversalSpec()
//    {
//        //SelectionSpec是TraversalSpec的一个引用。
//
//        TraversalSpec traversalSpec = new TraversalSpec();
//        //给traversalSpec设置名称
//        traversalSpec.setName("VisitFo123lders");
//        //从rootFolder开始遍历，rootFolder类型是Folder
//        traversalSpec.setType("Folder");
//        //rootFolder拥有childEntity属性，清单结构图中指向的便是Datacenter
//        traversalSpec.setPath("childEntity");
//        //false表示不对其本身进行收集，只对其下对象进行收集
//        traversalSpec.setSkip(true);
//        //将sSpec添加到SelectionSpec集合中
//
//        TraversalSpec traversalSpec1 = new TraversalSpec();
//        //给traversalSpec设置名称
//        traversalSpec1.setName("VisitFo122ers");
//        //从rootFolder开始遍历，rootFolder类型是Folder
//        traversalSpec1.setType("Folder");
//        //rootFolder拥有childEntity属性，清单结构图中指向的便是Datacenter
//        traversalSpec1.setPath("hostFolder");
//        //false表示不对其本身进行收集，只对其下对象进行收集
//        traversalSpec1.setSkip(false);
////
////        TraversalSpec traversalSpec2 = new TraversalSpec();
////        //给traversalSpec设置名称
////        traversalSpec.setName("Visi332ers");
////        //从rootFolder开始遍历，rootFolder类型是Folder
////        traversalSpec.setType("Folder");
////        //rootFolder拥有childEntity属性，清单结构图中指向的便是Datacenter
////        traversalSpec.setPath("childEntity");
////        //false表示不对其本身进行收集，只对其下对象进行收集
////        traversalSpec.setSkip(false);
////
////        traversalSpec.getSelectSet().add(traversalSpec1);
////        traversalSpec.getSelectSet().add(traversalSpec2);
////
//        return traversalSpec;
//    }
//
//
//    /**
//     * @see ，和上面方法一样，只是最后返回值取得是Datacenter的属性name的值，而非Datacenter的对象引用。
//     * @return retVal:数据中心名称list。
//     * */
//
//
//
//
////对 VimPortType 对象来说，方法是变量，
//// VimPortType 定义了与 vSphere API 方法相对应的Java方法。
//// createContainerView 参数container (清单根目录，由方法 sContent.getRootFolder 返回)和 type (“Virtual Machine”)
//// 指引 ViewManager 从 root folder 开始选择虚拟机，递归参数值的 ture 值将选择范围扩展到根文件夹之外，
//// 这样 ViewManager 将沿着子目录路径，将虚拟机添加到视图中。容器视图提供了在清单里面的所有虚拟机的引用。
//    private static void  getfsf() throws Exception {
//        List<String> vmList = new ArrayList<String>();
//        vmList.add("VirtualMachine");
//
//        VimPortType methods = MoniterWsInterface.vimPort;
//        ServiceContent sContent = MoniterWsInterface.serviceContent;
//
//        ManagedObjectReference viewMgrRef = sContent.getViewManager();
//        ManagedObjectReference propColl = sContent.getPropertyCollector();
//
//        ManagedObjectReference cViewRef = methods.createContainerView(viewMgrRef,
//                sContent.getRootFolder(),
//                vmList,
//                true );
//
//        ObjectSpec oSpec = new ObjectSpec();
//        oSpec.setObj(cViewRef);
//        oSpec.setSkip(true);
//
//        TraversalSpec tSpec = new TraversalSpec();
//        tSpec.setName("traverseEntities");
//        tSpec.setPath("view");
//        tSpec.setSkip(false);
//        tSpec.setType("ContainerView");
//
//        oSpec.getSelectSet().add(tSpec);
//
//        PropertySpec pSpec = new PropertySpec();
//        pSpec.setType("VirtualMachine");
//        pSpec.getPathSet().add("name");
//
//        PropertyFilterSpec fSpec = new PropertyFilterSpec();
//        fSpec.getObjectSet().add(oSpec);
//        fSpec.getPropSet().add(pSpec);
//
//        List<PropertyFilterSpec> fSpecList = new ArrayList<PropertyFilterSpec>();
//        fSpecList.add(fSpec);
//
//
//        List<ObjectContent> listobcont = MoniterWsInterface.retrievePropertiesAllObjects(fSpecList);
//
//        System.out.println(listobcont.size());
//    }
//    /**
//     * @see
//     * */
//    public static void main(String[] args) throws Exception {
//        MoniterWsInterface.connect();
//
//
////        getfsf();
////        getDatacenterName();
//
//        MoniterWsInterface.disconnect();
//    }
//
//}
